home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / var / lib / dpkg / info / udev.postrm < prev    next >
Text File  |  2008-10-24  |  7KB  |  277 lines

  1. #!/bin/sh -e
  2. # This script can be called in the following ways:
  3. #
  4. # After the package was removed:
  5. #    <postrm> remove
  6. #
  7. # After the package was purged:
  8. #    <postrm> purge
  9. #
  10. # After the package was upgraded:
  11. #    <old-postrm> upgrade <new-version>
  12. # if that fails:
  13. #    <new-postrm> failed-upgrade <old-version>
  14. #
  15. #
  16. # After all of the packages files have been replaced:
  17. #    <postrm> disappear <overwriting-package> <version>
  18. #
  19. #
  20. # If preinst fails during install:
  21. #    <new-postrm> abort-install
  22. #
  23. # If preinst fails during upgrade of removed package:
  24. #    <new-postrm> abort-install <old-version>
  25. #
  26. # If preinst fails during upgrade:
  27. #    <new-postrm> abort-upgrade <old-version>
  28.  
  29.  
  30. # Undo removal of a no-longer used conffile
  31. undo_rm_conffile()
  32. {
  33.     CONFFILE="$1"
  34.  
  35.     if [ ! -e "$CONFFILE" ]; then
  36.     if [ -e "$CONFFILE".dpkg-bak ]; then
  37.         echo "Restoring modified conffile $CONFFILE"
  38.         mv -f "$CONFFILE".dpkg-bak "$CONFFILE"
  39.     elif [ -e "$CONFFILE".dpkg-obsolete ]; then
  40.         mv -f "$CONFFILE".dpkg-obsolete "$CONFFILE"
  41.     fi
  42.     fi
  43. }
  44.  
  45. # Finish removal of a no-longer used conffile
  46. finish_rm_conffile()
  47. {
  48.     CONFFILE="$1"
  49.  
  50.     if [ -e "$CONFFILE".dpkg-bak ]; then
  51.     rm -f "$CONFFILE".dpkg-bak
  52.     fi
  53. }
  54.  
  55. # Undo move of a conffile
  56. undo_mv_conffile()
  57. {
  58.     CONFFILE="$1"
  59.  
  60.     if [ ! -e "$CONFFILE" ]; then
  61.     if [ -e "$CONFFILE".dpkg-bak ]; then
  62.         mv -f "$CONFFILE".dpkg-bak "$CONFFILE"
  63.     elif [ -e "$CONFFILE".dpkg-moving ]; then
  64.         mv -f "$CONFFILE".dpkg-moving "$CONFFILE"
  65.     fi
  66.     fi
  67. }
  68.  
  69. # Finish move of a conffile
  70. finish_mv_conffile()
  71. {
  72.     CONFFILE="$1"
  73.  
  74.     if [ -e "$CONFFILE".dpkg-bak ]; then
  75.     rm -f "$CONFFILE".dpkg-bak
  76.     fi
  77. }
  78.  
  79.  
  80. # Undo rename of the persistent-disk.rules file
  81. undo_mv_persistent_disk_rules()
  82. {
  83.     undo_mv_conffile /etc/udev/rules.d/65-persistent-disk.rules \
  84.                  /etc/udev/rules.d/60-persistent-storage.rules
  85. }
  86.  
  87. # Finish rename of the persistent-disk.rules file
  88. finish_mv_persistent_disk_rules()
  89. {
  90.     finish_mv_conffile /etc/udev/rules.d/65-persistent-disk.rules \
  91.                /etc/udev/rules.d/60-persistent-storage.rules
  92. }
  93.  
  94.  
  95. # Undo rename the cdrom_id.rules file
  96. undo_mv_cdrom_id_rules()
  97. {
  98.     undo_mv_conffile /etc/udev/rules.d/50-cdrom_id.rules \
  99.                  /etc/udev/rules.d/30-cdrom_id.rules
  100. }
  101.  
  102. # Finish rename the cdrom_id.rules file
  103. finish_mv_cdrom_id_rules()
  104. {
  105.     finish_mv_conffile /etc/udev/rules.d/50-cdrom_id.rules \
  106.                    /etc/udev/rules.d/30-cdrom_id.rules
  107. }
  108.  
  109.  
  110. # Undo rename of upstream rules files
  111. undo_mv_upstream_rules()
  112. {
  113.     undo_mv_conffile /etc/udev/rules.d/00-init.rules \
  114.                  /etc/udev/rules.d/05-udev-early.rules
  115.     undo_mv_conffile /etc/udev/rules.d/65-persistent-input.rules \
  116.              /etc/udev/rules.d/60-persistent-input.rules
  117.     undo_mv_conffile /etc/udev/rules.d/65-persistent-storage.rules \
  118.              /etc/udev/rules.d/60-persistent-storage.rules
  119.     undo_mv_conffile /etc/udev/rules.d/65-persistent-storage-tape.rules \
  120.              /etc/udev/rules.d/60-persistent-storage-tape.rules
  121.     undo_mv_conffile /etc/udev/rules.d/65-persistent-storage-edd.rules \
  122.              /etc/udev/rules.d/61-persistent-storage-edd.rules
  123.     undo_mv_conffile /etc/udev/rules.d/99-udevmonitor.rules \
  124.                  /etc/udev/rules.d/95-udev-late.rules
  125. }
  126.  
  127. # Finish rename of upstream rules files
  128. finish_mv_upstream_rules()
  129. {
  130.     finish_mv_conffile /etc/udev/rules.d/00-init.rules \
  131.                    /etc/udev/rules.d/05-udev-early.rules
  132.     finish_mv_conffile /etc/udev/rules.d/65-persistent-input.rules \
  133.                /etc/udev/rules.d/60-persistent-input.rules
  134.     finish_mv_conffile /etc/udev/rules.d/65-persistent-storage.rules \
  135.                /etc/udev/rules.d/60-persistent-storage.rules
  136.     finish_mv_conffile /etc/udev/rules.d/65-persistent-storage-tape.rules \
  137.                /etc/udev/rules.d/60-persistent-storage-tape.rules
  138.     finish_mv_conffile /etc/udev/rules.d/65-persistent-storage-edd.rules \
  139.                /etc/udev/rules.d/61-persistent-storage-edd.rules
  140.     finish_mv_conffile /etc/udev/rules.d/99-udevmonitor.rules \
  141.                    /etc/udev/rules.d/95-udev-late.rules
  142. }
  143.  
  144.  
  145. # Undo remove the iftab.rules file
  146. undo_rm_iftab_rules()
  147. {
  148.     undo_rm_conffile /etc/udev/rules.d/25-iftab.rules
  149. }
  150.  
  151. # Finish remove of the iftab.rules file
  152. finish_rm_iftab_rules()
  153. {
  154.     finish_rm_conffile /etc/udev/rules.d/25-iftab.rules
  155. }
  156.  
  157.  
  158. # Undo remove early rules files
  159. undo_rm_early_rules()
  160. {
  161.     undo_rm_conffile /etc/udev/rules.d/05-udev-early.rules
  162. }
  163.  
  164. # Undo remove upstream rules files
  165. undo_rm_upstream_rules()
  166. {
  167.     undo_rm_conffile /etc/udev/rules.d/50-udev-default.rules
  168.     undo_rm_conffile /etc/udev/rules.d/80-drivers.rules
  169. }
  170.  
  171. # Finish remove early rules files
  172. finish_rm_early_rules()
  173. {
  174.     finish_rm_conffile /etc/udev/rules.d/05-udev-early.rules
  175. }
  176.  
  177. # Finish remove upstream rules files
  178. finish_rm_upstream_rules()
  179. {
  180.     finish_rm_conffile /etc/udev/rules.d/50-udev-default.rules
  181.     finish_rm_conffile /etc/udev/rules.d/80-drivers.rules
  182. }
  183.  
  184.  
  185. # Undo remove the finish init script
  186. undo_rm_finish_init()
  187. {
  188.     undo_rm_conffile /etc/init.d/finish
  189. }
  190.  
  191. # Finish remove of the finish init script
  192. finish_rm_finish_init()
  193. {
  194.     finish_rm_conffile /etc/init.d/finish
  195. }
  196.  
  197.  
  198.  
  199. # Remove configuration and log files
  200. purge_files()
  201. {
  202.     if [ -f /etc/iftab ]; then
  203.     rm -f /etc/iftab || true
  204.     fi
  205.  
  206.     if [ -f /var/log/udev ]; then
  207.     rm -f /var/log/udev || true
  208.     fi
  209. }
  210.  
  211.  
  212. case "$1" in
  213.     remove)
  214.     ;;
  215.  
  216.     purge)
  217.         finish_mv_persistent_disk_rules
  218.     finish_mv_cdrom_id_rules
  219.     finish_mv_upstream_rules
  220.     finish_rm_iftab_rules
  221.     finish_rm_early_rules
  222.     finish_rm_upstream_rules
  223.         finish_rm_finish_init
  224.     purge_files
  225.     ;;
  226.  
  227.     upgrade|failed-upgrade|disappear)
  228.     ;;
  229.  
  230.     abort-install|abort-upgrade)
  231.     # Abort upgrade from dapper
  232.     if dpkg --compare-versions "$2" lt "093-0ubuntu1"; then
  233.         undo_mv_persistent_disk_rules
  234.     fi
  235.  
  236.     # Abort upgrade within feisty development cycle
  237.     if dpkg --compare-versions "$2" lt "108-0ubuntu1"; then
  238.         undo_mv_cdrom_id_rules
  239.     fi
  240.  
  241.     # Abort upgrade from feisty
  242.     if dpkg --compare-versions "$2" lt "113-0ubuntu16"; then
  243.         undo_rm_iftab_rules
  244.  
  245.         # Abort upgrade from gutsy development version
  246.         undo_rm_finish_init
  247.     fi
  248.  
  249.     # Abort upgrade from gutsy
  250.     if dpkg --compare-versions "$2" lt "117-6"; then
  251.         undo_mv_upstream_rules
  252.         undo_rm_early_rules
  253.  
  254.         # Abort upgrade from hardy development version
  255.         undo_rm_upstream_rules
  256.     fi
  257.     ;;
  258.  
  259.     *)
  260.     echo "$0 called with unknown argument \`$1'" 1>&2
  261.     exit 1
  262.     ;;
  263. esac
  264.  
  265. # Automatically added by dh_installinit
  266. if [ "$1" = "purge" ] ; then
  267.     update-rc.d udev remove >/dev/null || exit $?
  268. fi
  269. # End automatically added section
  270. # Automatically added by dh_installinit
  271. if [ "$1" = "purge" ] ; then
  272.     update-rc.d udev-finish remove >/dev/null || exit $?
  273. fi
  274. # End automatically added section
  275.  
  276. exit 0
  277.